Перейти к основному содержимому

13.2 Настройка MLD

13.2.1 Обзор

Введение в функцию

Для участия в IPv6 мультикасте мультикаст-хосты, маршрутизаторы и коммутаторы 3-го уровня должны поддерживать работу MLD. Этот протокол определяет роли запросчика и хоста:

  • Запросчик — сетевое устройство, которое отправляет сообщения-запросы, чтобы определить, какие устройства в сети являются участниками данной мультикаст-группы.
  • Хост — получатель, который отправляет сообщения-отчеты (в ответ на запросы), чтобы уведомить запросчика о своем участии в группе.
  • Набор запросчиков и хостов, получающих потоки мультикаст-данных IPv6 из одного источника, называется мультикаст-группой IPv6. Запросчики и хосты используют сообщения MLD, чтобы присоединяться к мультикаст-группам и покидать их. Любой хост, независимо от того, является ли он членом группы, может отправлять сообщения в группу. Однако только члены группы получают эти сообщения. Участие в мультикаст-группе динамично; хосты могут присоединяться и покидать группу в любое время. Нет ограничений на количество участников или их расположение.
  • Хост может одновременно быть членом нескольких мультикаст-групп. Активность группы и её состав могут различаться и изменяться с течением времени. Группа может быть активной долгое время или существовать лишь кратковременно. Группа с участниками может не проявлять активности.

Пакеты MLD отправляются, используя следующие IPv6 мультикаст-адреса:

  • Общие запросы MLD направляются на адрес ff02::1 (все устройства в подсети).
  • Специфические для группы запросы MLD направляются на IPv6-адрес группы, для которой выполняется запрос.
  • Отчёты об участии в группе MLD направляются на IPv6-адрес группы, для которой выполняется отчёт.
  • Сообщения об уходе в MLD версии 1 (MLDv1) направляются на адрес ff02::2 (все маршрутизаторы мультикаст в подсети). В некоторых старых реализациях IPv6 сообщения об уходе могут быть направлены на адрес группы, а не на адрес всех маршрутизаторов.

Описание принципа

Модуль MLD основан на следующих RFC:

  • RFC 2710
  • RFC 3810

13.2.2 Настройка

Для активации MLD нет специальной команды, поскольку он всегда работает совместно с PIMv6-SM. Если PIMv6-SM включён на интерфейсе, MLD будет автоматически активирован на этом интерфейсе (и наоборот). Однако перед началом работы MLD необходимо глобально включить маршрутизацию IPv6 Multicast. Поддерживается как обучение MLD-групп с помощью пакетов MLD, так и настройка статических групп администратором.

Шаг 1: Введите режим конфигурации

Switch# configure terminal

Шаг 2: Включите IPv6 и маршрутизацию IPv6 Multicast глобально

Switch(config)# ipv6 enable
Switch(config)# ipv6 multicast-routing

Шаг 3: Войдите в режим конфигурации интерфейса, задайте IPv6-адрес и включите PIM sparse mode

Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ipv6 address 2001:1::1/64
Switch(config-if)# ipv6 pim sparse-mode

Шаг 4: Настройте параметры интерфейса MLD

Switch(config-if)# ipv6 mld version 2 
Switch(config-if)# ipv6 mld query-interval 120
Switch(config-if)# ipv6 mld query-max-response-time 12
Switch(config-if)# ipv6 mld robustness-variable 3
Switch(config-if)# ipv6 mld last-member-query-count 3
Switch(config-if)# ipv6 mld last-member-query-interval 2000

Шаг 5: Установите максимальное количество групп MLD

Для интерфейса:

Switch(config-if)# ipv6 mld limit 1000
Switch(config-if)# exit

Глобально:

Switch(config)# ipv6 mld limit 2000

Шаг 6: Создайте статическую MLD-группу

Switch(config)# interface eth-0-1
Switch(config-if)# ipv6 mld static-group ff0e::1234
Switch(config-if)# exit

Шаг 7: Настройте проксирование MLD (необязательно)

Switch(config)# interface eth-0-1
Switch(config-if)# no switchport
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# ipv6 mld proxy-service
Switch(config-if)# exit

Switch(config)# interface eth-0-2
Switch(config-if)# no switchport
Switch(config-if)# ipv6 pim sparse-mode
Switch(config-if)# ipv6 mld mroute-proxy eth-0-1
Switch(config-if)# exit

Шаг 8: Выйдите из режима конфигурации

Switch(config)# end

Шаг 9: Проверка

Отображение параметров интерфейса MLD:

Switch# show ipv6 mld interface 
Interface eth-0-2 (Index 2)
MLD Inactive, Version 1 (default)
MLD mroute-proxy interface is eth-0-1
MLD global limit is 2000
MLD global limit states count is currently 0
MLD interface limit is 4096
MLD interface has 0 group-record states
MLD activity: 0 joins, 0 leaves
MLD query interval is 125 seconds
MLD querier timeout is 255 seconds
MLD max query response time is 10 seconds
Last member query response interval is 1000 milliseconds
Group Membership interval is 260 seconds
Last memeber query count is 2
Robustness Variable is 2
Interface eth-0-1 (Index 1)
MLD Inactive, Configured for Version 2 proxy-service
MLD host version 2
MLD global limit is 2000
MLD global limit states count is currently 0
MLD interface limit is 1000
MLD interface has 0 group-record states
MLD activity: 0 joins, 0 leaves
MLD query interval is 120 seconds
MLD querier timeout is 366 seconds
MLD max query response time is 12 seconds
Last member query response interval is 2000 milliseconds
Group Membership interval is 372 seconds
Last memeber query count is 3
Robustness Variable is 3

Отображение групп MLD:

Switch# show ipv6 mld groups 
MLD Connected Group Membership
Group Address Interface Expires
ff0e::1234 eth-0-1 stopped